package com.tsy.pointcloud.service;

import com.tsy.pointcloud.domain.FileInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tsy.pointcloud.domain.dto.UploadResultDto;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.concurrent.CompletableFuture;

/**
* @author Administrator
* @description 针对表【file_info(文件信息表)】的数据库操作Service
* @createDate 2025-03-25 14:54:52
*/
public interface FileInfoService extends IService<FileInfo> {

    UploadResultDto fragmentUpload(MultipartFile file, String fileName, String fileMd5, Integer chunkIndex, Integer chunks);

    UploadResultDto batchFileUpload(File file, String fileName);

    UploadResultDto findByMd5(String fileMd5, String fileName);

    void handle(String fileName, String fileMd5, Long userId);
    
    /**
     * 导出轨道点云为矢量
     *
     * @param fileName 文件名
     * @param fileMd5  文件MD5
     * @return 矢量文件路径
     */
    void exportRailwayVector(String fileName, String fileMd5, Long userId);

    void delete(Long id);
}
